﻿//#define _CRT_SECURE_NO_WARNINGS
/*数据类型：字符型，整型，浮点型，布尔类型
* 字符型：char
* 整型：int \short \long long
* 浮点型：float 单精度/double 双精度/long double 
* 布尔：Bool
*/
//
#include <stdio.h>
//#include <stdbool.h>
//int main()
//{
//	_Bool flag = true;
//	bool flag2 = false;
//	if (flag) 
//		printf("hrhr\n");
//	
//	return 0;
//}


//int main()
//{
//	printf("%zd\n", sizeof(char));//1
//	printf("%zd\n", sizeof(short));//2
//	printf("%zd\n", sizeof(int));//4
//	printf("%zd\n", sizeof(long));//4
//	printf("%zd\n", sizeof(long long));//8
//	printf("%zd\n", sizeof(float));//4
//	printf("%zd\n", sizeof(double));//8
//	printf("%zd\n", sizeof(long double));//8
//  printf("%zd\n",sizeof(_Bbool));//1
//	return 0;
//}


//int main()
//{
//	int a = 10;
//	printf("%zd\n", sizeof(char));//括号里面是类型必须加括号
//	printf("%zd\n", sizeof(a));//是表达式的时候可以忽略后面的括号
//	printf("%zd\n", sizeof a);
//	return 0;
//}

//int main()
//{
//	short s = 2;
//	int b = 10;
//	printf("%d\n", sizeof(s = b + 1));//sizeof中表达式不会真实计算，由s说了算，也就是short类型
//	printf("s = %d\n", s);
//	return 0;
//}

//int main()
//{
//	//signed int ——有符号的int
//	signed int num = 100;
//	num = -200;
//
//	//unsigned int——无符号
//	unsigned int num2 = 100;
//	num2 = 1000;
//
//	return 0;
//}

//char ——到底有符号无符号？不确定，取决于编译器的实现
//大部分的编译器上面的插入 ===signed char
//int == signed int（int就是有符号int）
//对于有符号的整数打印用%d
//对于无符号的整形打印用%u


//int main()
//{
//	int num = -100;
//	printf("%d\n", num);
//
//	return 0;
//}


//data_type name;
//| |
//| |
//数据类型 变量名

//int num = 100;//全局变量，在整个工程中使用——共享单车
//
//int main()
//{
//	//局部变量——个人的自行车（在一个{}中使用）
//	unsigned int age;//初始化
//	age  =  20;//赋值
//	printf("%u\n", age);
//	char ch= 'a';
//	float score = 3.14f;
//	double weight = 4.5;
//	return 0;
//}int global = 2023;//全局变量

//int global = 2023;//全局变量
//int main()
//{
//	int local = 2018;//局部变量
//	printf("%d\n", local);
//	printf("%d\n", global);
//	return 0;
//}

//int local = 2023;//全局变量
//int main()
//{
//	int local = 2018;//局部变量，优先使用
//	printf("%d\n", local);
//
//	return 0;
//}



//int main()
//{
//	printf("%d\n", 90 + 78);//操作数 操作符 操作数
//
//	int a = 90;
//	int b = 89;
//	printf("%d\n", a - b);
//	printf("%d\n", b-a);
//	printf("%d", a * b);
//	return 0;
//}
//
//#include <stdio.h>
//int main()
//{
//	float x = 6 / 4;	//执行整数除法，只要商不要余数
//	int y = 6 / 4;
//	printf("%f\n", x); // 输出 1.000000
//	printf("%d\n", y); // 输出 1
//	printf("%f\n",6 / 4.0);//输出1.500000
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	int score = 5;
//	score = (score / 20.0) * 100;
//	printf("%d\n", score);
//	return 0;
//}


//
//int main()
//{
//	printf("%d\n", 10 % 3);//取余数，只能用于整型
//	return 0;
//}
// 
// 
//#include <stdio.h>
//int main()
//{//结果的正负号由第⼀个运算数的正负号决定
//	printf("%d\n", 11 % -5); // 1
//	printf("%d\n", -11 % -5); // -1
//	printf("%d\n", -11 % 5); // -1
//	return 0;
//}
//

//连续赋值，从右向左依次赋值的。
//int a = 3;
//int b = 5;
//int c = 0;
//c = b = a + 3;

//
//int main()
//{
//	int a = 5;
//	//int b = ++a;
//	//前置++
//	//口诀：先++，后使用
//	//a=a+1
//	//printf("a=%d\n", a);//6
//	//printf("b=%d\n", b);//6
//
//
//	int b = a++;
//	//后置++
//	//口诀：先使用，后++
//	// b=a,a=a+1
//	//a=a+1
//	printf("a=%d\n", a);//6
//	printf("b=%d\n", b);//5
//	return 0;
//}



int main()
{
	int a = (int)3.14;//括号给类型
	printf("%d", a);
	return 0;

}